package com.canxi.games.domain.bo;

import com.canxi.common.core.domain.BaseEntity;
import com.canxi.common.core.validate.AddGroup;
import com.canxi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;


/**
 * 游戏配置业务对象 cx_games_config
 *
 * @author ruoyi
 * @date 2024-08-19
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CxGamesConfigBo extends BaseEntity {

    /**
     * 主键
     */
    private String id;

    /**
     * 租户Id
     */
    private String tenantId;

    /**
     * 游戏Id
     */
    @NotBlank(message = "游戏Id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gameId;

    /**
     * 宽度
     */
    @NotNull(message = "宽度不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long width;

    /**
     * 高度
     */
    @NotNull(message = "高度不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long height;

    /**
     * 列数
     */
    @NotNull(message = "列数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long levelCols;

    /**
     * 行数
     */
    @NotNull(message = "行数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long levelRows;

    /**
     * 几个对象消除
     */
    @NotNull(message = "对象级别组数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long groupCount;

    @NotNull(message = "几个对象消除不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long oneGroupCount;

    /**
     * 图标
     */
    @NotBlank(message = "图标不能为空", groups = { AddGroup.class, EditGroup.class })
    private String img;

    /**
     * 图标数量
     */
    @NotNull(message = "图标数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long imgNum;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 等级
     */
    @NotNull(message = "等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long level;

    /**
     * 层数
     */
    @NotNull(message = "层数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long layerCount;


}
